\hypertarget{classrts_1_1_physical_game_state}{
\section{rts.PhysicalGameState Class Reference}
\label{classrts_1_1_physical_game_state}\index{rts::PhysicalGameState@{rts::PhysicalGameState}}
}


Runs all of the logic of the game.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classrts_1_1_physical_game_state_a463cfb14c53ed9b8cdf0bd9a30245ec9}{numberOfPlayers} ()
\item 
int \hyperlink{classrts_1_1_physical_game_state_a4f47cea7ed91e75de4b9f9f160432f73}{winner} ()
\item 
int \hyperlink{classrts_1_1_physical_game_state_a204bd83cc193bcd2f0fa64b83547acd5}{winnerByScore} ()
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a1c524d46ccbf32aeddb8ba5cbe9f47c6}{gameover} ()
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a74a986ee337aa743097249693fdfd449}{cycle} ()
\item 
\hyperlink{classrts_1_1_physical_game_state_adff3634b5f1680a8df120f48ce96f78c}{PhysicalGameState} (int start\_\-player, \hyperlink{classrts_1_1_game_state}{GameState} gs, \hyperlink{classrts_1_1units_1_1_unit_definition_manager}{UnitDefinitionManager} unitDefs)
\item 
\hyperlink{classrts_1_1_physical_game_state_a8253ff150b31e81ef4228b7d59cd6eec}{PhysicalGameState} (Element e, \hyperlink{classrts_1_1units_1_1_unit_definition_manager}{UnitDefinitionManager} unitDefs)
\item 
int \hyperlink{classrts_1_1_physical_game_state_a66d5728a1d6ca0a6907f157000bb9fc5}{getResources} (int type)
\item 
void \hyperlink{classrts_1_1_physical_game_state_a681301d2c047c8aa4b8151416910bb7a}{setTimeLimit} (long timelimit)
\item 
void \hyperlink{classrts_1_1_physical_game_state_a752fffbb8516578e79e9df80b18cc7fa}{setCurrentPlayer} (int player)
\item 
int \hyperlink{classrts_1_1_physical_game_state_a8a14fcf77fe4d800d69f39e5f5e69650}{harvestTime} (int x, int y)
\item 
int \hyperlink{classrts_1_1_physical_game_state_a434fd410463af81910417b303ab3fb0d}{buildTime} (int player, boolean is\_\-building, int build)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_afdbbb9a75e7e0fe59f626917e7e5b51d}{moveUnit} (UnitStats unit, int x, int y)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a4c0de096264e4549dd73b7ebcecc425d}{attackUnit} (UnitStats attacker, int x, int y)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a468dcd9ce7f55ab1ba02db780ac80c71}{harvestUnit} (UnitStats unit, int x, int y)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a6f999ed335f528902c5039af5e4c312c}{returnUnitHarvest} (UnitStats unit, int x, int y)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_abb8e5e32d1cda902e608a66d10d2442c}{buildUnit} (UnitStats unit, int x, int y, int build)
\item 
int \hyperlink{classrts_1_1_physical_game_state_a56b9b99fef5887c6423d8590cd1a5672}{upgradeTime} (int player, int upgrade\_\-id)
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_abb2c6684ab364687bbdc76abad1c2fe6}{upgradeUnits} (int player, int upgrade\_\-id)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classrts_1_1_physical_game_state_a8b28b7b9a0a7bc72d9de75f85ecc6063}{width} = 8
\item 
int \hyperlink{classrts_1_1_physical_game_state_a5703d32962637e69a729bf812e66e4bd}{height} = 8
\item 
int \hyperlink{classrts_1_1_physical_game_state_a8e0042b4d0c50b1de4bd7bec64a4de4f}{terrain} \mbox{[}$\,$\mbox{]} = null
\item 
boolean \hyperlink{classrts_1_1_physical_game_state_a65777e188928a93d3317197a70b8469e}{fog}
\item 
ArrayList$<$ ArrayList$<$ Integer $>$ $>$ \hyperlink{classrts_1_1_physical_game_state_a8857fe0f0d854ccb4c49661eca1bff20}{teams}
\item 
ArrayList$<$ ArrayList$<$ \hyperlink{classrts_1_1units_1_1_unit}{Unit} $>$ $>$ \hyperlink{classrts_1_1_physical_game_state_a3ac864942771e62fb0ae8f67e8b05689}{armies}
\item 
ArrayList$<$ UnitStats $>$ \hyperlink{classrts_1_1_physical_game_state_ad7679ca58d8e264c2564fe6f2583612c}{armyStats}
\item 
ArrayList$<$ ArrayList$<$ Integer $>$ $>$ \hyperlink{classrts_1_1_physical_game_state_a1b39784d01283e14e116acb012030036}{resources}
\item 
ArrayList$<$ Integer $>$ \hyperlink{classrts_1_1_physical_game_state_a100aac0c47d8f32810edc443624ef951}{scores}
\item 
ArrayList$<$ Integer $>$ \hyperlink{classrts_1_1_physical_game_state_afa9214b286e0460666120fa20d8d17a1}{kills}
\item 
ArrayList$<$ Integer $>$ \hyperlink{classrts_1_1_physical_game_state_a0571840305c2f0fe37472f4c7cad53fd}{deaths}
\item 
UnitStats \hyperlink{classrts_1_1_physical_game_state_aee1ef53ce8876e09956f363ff4a35017}{unit\_\-map} \mbox{[}$\,$\mbox{]}
\item 
UnitStats \hyperlink{classrts_1_1_physical_game_state_aaf605aca11050ce864c61502afe8f023}{reserved}
\item 
\hyperlink{classrts_1_1units_1_1_unit_definition_manager}{UnitDefinitionManager} \hyperlink{classrts_1_1_physical_game_state_a3be9fa0f8cf400886b7e817ceb6071dc}{unitDefinitions}
\item 
int \hyperlink{classrts_1_1_physical_game_state_aba5e892341302f7278d8b6133f194c90}{current\_\-player}
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static final int \hyperlink{classrts_1_1_physical_game_state_a786b873f5a5133fbccdf718e49b69b21}{TERRAIN\_\-NONE} = 0
\item 
static final int \hyperlink{classrts_1_1_physical_game_state_a9f7b7db835ac7abde2bd57718a9968f4}{TERRAIN\_\-WALL} = 1
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classrts_1_1_physical_game_state_a5150e233dbe779274a3850e942a056a9}{determineLegalActions} (UnitStats unit)
\item 
void \hyperlink{classrts_1_1_physical_game_state_a2ba673d19082afa9c2ec199c308ae333}{removeUnit} (UnitStats unit, int index)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
ArrayList$<$ UnitStats $>$ \hyperlink{classrts_1_1_physical_game_state_ad414bf7c2032a2773bb429f8293ffde8}{corpses}
\item 
ArrayList$<$ Long $>$ \hyperlink{classrts_1_1_physical_game_state_af48781269d21723d6bced166ea38fe32}{timeLimits}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Runs all of the logic of the game. 

\begin{DoxyAuthor}{Author}
santi, modified Jeff Bernard 
\end{DoxyAuthor}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classrts_1_1_physical_game_state_adff3634b5f1680a8df120f48ce96f78c}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!PhysicalGameState@{PhysicalGameState}}
\index{PhysicalGameState@{PhysicalGameState}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{PhysicalGameState}]{\setlength{\rightskip}{0pt plus 5cm}rts.PhysicalGameState.PhysicalGameState (
\begin{DoxyParamCaption}
\item[{int}]{start\_\-player, }
\item[{{\bf GameState}}]{gs, }
\item[{{\bf UnitDefinitionManager}}]{unitDefs}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_adff3634b5f1680a8df120f48ce96f78c}
\hypertarget{classrts_1_1_physical_game_state_a8253ff150b31e81ef4228b7d59cd6eec}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!PhysicalGameState@{PhysicalGameState}}
\index{PhysicalGameState@{PhysicalGameState}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{PhysicalGameState}]{\setlength{\rightskip}{0pt plus 5cm}rts.PhysicalGameState.PhysicalGameState (
\begin{DoxyParamCaption}
\item[{Element}]{e, }
\item[{{\bf UnitDefinitionManager}}]{unitDefs}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a8253ff150b31e81ef4228b7d59cd6eec}


\subsection{Member Function Documentation}
\hypertarget{classrts_1_1_physical_game_state_a4c0de096264e4549dd73b7ebcecc425d}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!attackUnit@{attackUnit}}
\index{attackUnit@{attackUnit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{attackUnit}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.attackUnit (
\begin{DoxyParamCaption}
\item[{UnitStats}]{attacker, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a4c0de096264e4549dd73b7ebcecc425d}
A unit attacks a square 
\begin{DoxyParams}{Parameters}
{\em attacker} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether or not the attack was valid 
\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a434fd410463af81910417b303ab3fb0d}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!buildTime@{buildTime}}
\index{buildTime@{buildTime}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{buildTime}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.buildTime (
\begin{DoxyParamCaption}
\item[{int}]{player, }
\item[{boolean}]{is\_\-building, }
\item[{int}]{build}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a434fd410463af81910417b303ab3fb0d}
Gets the build time for the thign you want to build 
\begin{DoxyParams}{Parameters}
{\em player} & the player that wants to build \\
\hline
{\em is\_\-building} & whether or not you want to build a building \\
\hline
{\em build} & the thing you want to build \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_abb8e5e32d1cda902e608a66d10d2442c}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!buildUnit@{buildUnit}}
\index{buildUnit@{buildUnit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{buildUnit}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.buildUnit (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit, }
\item[{int}]{x, }
\item[{int}]{y, }
\item[{int}]{build}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_abb8e5e32d1cda902e608a66d10d2442c}
Attempts to build a unit somewhere 
\begin{DoxyParams}{Parameters}
{\em unit} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
{\em build} & what to build \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a74a986ee337aa743097249693fdfd449}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!cycle@{cycle}}
\index{cycle@{cycle}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{cycle}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.cycle (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a74a986ee337aa743097249693fdfd449}
Cycles the game state \begin{DoxyReturn}{Returns}
true if the game is over, otherwise false 
\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a5150e233dbe779274a3850e942a056a9}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!determineLegalActions@{determineLegalActions}}
\index{determineLegalActions@{determineLegalActions}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{determineLegalActions}]{\setlength{\rightskip}{0pt plus 5cm}void rts.PhysicalGameState.determineLegalActions (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classrts_1_1_physical_game_state_a5150e233dbe779274a3850e942a056a9}
Builds a list of legal actions for the specified unit 
\begin{DoxyParams}{Parameters}
{\em unit} & \\
\hline
\end{DoxyParams}
\hypertarget{classrts_1_1_physical_game_state_a1c524d46ccbf32aeddb8ba5cbe9f47c6}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!gameover@{gameover}}
\index{gameover@{gameover}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{gameover}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.gameover (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a1c524d46ccbf32aeddb8ba5cbe9f47c6}
Determines whether or not the game is over.  true if yesm, otherwise false \hypertarget{classrts_1_1_physical_game_state_a66d5728a1d6ca0a6907f157000bb9fc5}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!getResources@{getResources}}
\index{getResources@{getResources}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{getResources}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.getResources (
\begin{DoxyParamCaption}
\item[{int}]{type}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a66d5728a1d6ca0a6907f157000bb9fc5}
Gets the resources for the current player 
\begin{DoxyParams}{Parameters}
{\em type} & the type of resource to get \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a8a14fcf77fe4d800d69f39e5f5e69650}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!harvestTime@{harvestTime}}
\index{harvestTime@{harvestTime}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{harvestTime}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.harvestTime (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a8a14fcf77fe4d800d69f39e5f5e69650}
how long it'll take to harvest from this square 
\begin{DoxyParams}{Parameters}
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a468dcd9ce7f55ab1ba02db780ac80c71}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!harvestUnit@{harvestUnit}}
\index{harvestUnit@{harvestUnit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{harvestUnit}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.harvestUnit (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a468dcd9ce7f55ab1ba02db780ac80c71}
A unit attempts to harvest from some location 
\begin{DoxyParams}{Parameters}
{\em unit} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_afdbbb9a75e7e0fe59f626917e7e5b51d}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!moveUnit@{moveUnit}}
\index{moveUnit@{moveUnit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{moveUnit}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.moveUnit (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_afdbbb9a75e7e0fe59f626917e7e5b51d}
Reserves the resources to build something 
\begin{DoxyParams}{Parameters}
{\em player} & the player who is building \\
\hline
{\em is\_\-building} & whether or not the thing being built is a building \\
\hline
{\em build} & the thing you want to build Restores the resources to build something because somethign went wrong \\
\hline
{\em player} & the player who is building \\
\hline
{\em is\_\-building} & whether or not the thing being built is a building \\
\hline
{\em build} & the thing you want to build Moves the unit to the new location \\
\hline
{\em unit} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
whether or not the move was valid 
\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a463cfb14c53ed9b8cdf0bd9a30245ec9}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!numberOfPlayers@{numberOfPlayers}}
\index{numberOfPlayers@{numberOfPlayers}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{numberOfPlayers}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.numberOfPlayers (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a463cfb14c53ed9b8cdf0bd9a30245ec9}
Returns the number of players (minus the neutral player) \begin{DoxyReturn}{Returns}
armies.size()-\/1 
\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a2ba673d19082afa9c2ec199c308ae333}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!removeUnit@{removeUnit}}
\index{removeUnit@{removeUnit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{removeUnit}]{\setlength{\rightskip}{0pt plus 5cm}void rts.PhysicalGameState.removeUnit (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit, }
\item[{int}]{index}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classrts_1_1_physical_game_state_a2ba673d19082afa9c2ec199c308ae333}
Removes this unit because it is dead 
\begin{DoxyParams}{Parameters}
{\em unit} & \\
\hline
{\em index} & \\
\hline
\end{DoxyParams}
\hypertarget{classrts_1_1_physical_game_state_a6f999ed335f528902c5039af5e4c312c}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!returnUnitHarvest@{returnUnitHarvest}}
\index{returnUnitHarvest@{returnUnitHarvest}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{returnUnitHarvest}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.returnUnitHarvest (
\begin{DoxyParamCaption}
\item[{UnitStats}]{unit, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a6f999ed335f528902c5039af5e4c312c}
Attempts to return the harvest 
\begin{DoxyParams}{Parameters}
{\em unit} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a752fffbb8516578e79e9df80b18cc7fa}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!setCurrentPlayer@{setCurrentPlayer}}
\index{setCurrentPlayer@{setCurrentPlayer}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{setCurrentPlayer}]{\setlength{\rightskip}{0pt plus 5cm}void rts.PhysicalGameState.setCurrentPlayer (
\begin{DoxyParamCaption}
\item[{int}]{player}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a752fffbb8516578e79e9df80b18cc7fa}
Sets the current player 
\begin{DoxyParams}{Parameters}
{\em player} & \\
\hline
\end{DoxyParams}
\hypertarget{classrts_1_1_physical_game_state_a681301d2c047c8aa4b8151416910bb7a}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!setTimeLimit@{setTimeLimit}}
\index{setTimeLimit@{setTimeLimit}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{setTimeLimit}]{\setlength{\rightskip}{0pt plus 5cm}void rts.PhysicalGameState.setTimeLimit (
\begin{DoxyParamCaption}
\item[{long}]{timelimit}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a681301d2c047c8aa4b8151416910bb7a}
Sets the time limit for the current player 
\begin{DoxyParams}{Parameters}
{\em timelimit} & \\
\hline
\end{DoxyParams}
\hypertarget{classrts_1_1_physical_game_state_a56b9b99fef5887c6423d8590cd1a5672}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!upgradeTime@{upgradeTime}}
\index{upgradeTime@{upgradeTime}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{upgradeTime}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.upgradeTime (
\begin{DoxyParamCaption}
\item[{int}]{player, }
\item[{int}]{upgrade\_\-id}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a56b9b99fef5887c6423d8590cd1a5672}
Returns how long an upgrade is going to take 
\begin{DoxyParams}{Parameters}
{\em player} & \\
\hline
{\em upgrade\_\-id} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_abb2c6684ab364687bbdc76abad1c2fe6}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!upgradeUnits@{upgradeUnits}}
\index{upgradeUnits@{upgradeUnits}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{upgradeUnits}]{\setlength{\rightskip}{0pt plus 5cm}boolean rts.PhysicalGameState.upgradeUnits (
\begin{DoxyParamCaption}
\item[{int}]{player, }
\item[{int}]{upgrade\_\-id}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_abb2c6684ab364687bbdc76abad1c2fe6}
Executes an upgrade 
\begin{DoxyParams}{Parameters}
{\em upgrade\_\-id} & which upgrade to do \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a4f47cea7ed91e75de4b9f9f160432f73}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!winner@{winner}}
\index{winner@{winner}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{winner}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.winner (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a4f47cea7ed91e75de4b9f9f160432f73}
Returns the id of the winning team \begin{DoxyReturn}{Returns}
the id of the winning team, or -\/1 on a draw 
\end{DoxyReturn}
\hypertarget{classrts_1_1_physical_game_state_a204bd83cc193bcd2f0fa64b83547acd5}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!winnerByScore@{winnerByScore}}
\index{winnerByScore@{winnerByScore}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{winnerByScore}]{\setlength{\rightskip}{0pt plus 5cm}int rts.PhysicalGameState.winnerByScore (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classrts_1_1_physical_game_state_a204bd83cc193bcd2f0fa64b83547acd5}
Returns the team with the most points \begin{DoxyReturn}{Returns}
-\/1 on a draw on score 
\end{DoxyReturn}


\subsection{Member Data Documentation}
\hypertarget{classrts_1_1_physical_game_state_a3ac864942771e62fb0ae8f67e8b05689}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!armies@{armies}}
\index{armies@{armies}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{armies}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$ArrayList$<${\bf Unit}$>$ $>$ {\bf rts.PhysicalGameState.armies}}}
\label{classrts_1_1_physical_game_state_a3ac864942771e62fb0ae8f67e8b05689}
player x list of units \hypertarget{classrts_1_1_physical_game_state_ad7679ca58d8e264c2564fe6f2583612c}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!armyStats@{armyStats}}
\index{armyStats@{armyStats}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{armyStats}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$UnitStats$>$ {\bf rts.PhysicalGameState.armyStats}}}
\label{classrts_1_1_physical_game_state_ad7679ca58d8e264c2564fe6f2583612c}
player x list of units \hypertarget{classrts_1_1_physical_game_state_ad414bf7c2032a2773bb429f8293ffde8}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!corpses@{corpses}}
\index{corpses@{corpses}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{corpses}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$UnitStats$>$ {\bf rts.PhysicalGameState.corpses}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classrts_1_1_physical_game_state_ad414bf7c2032a2773bb429f8293ffde8}
dead people \hypertarget{classrts_1_1_physical_game_state_aba5e892341302f7278d8b6133f194c90}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!current\_\-player@{current\_\-player}}
\index{current\_\-player@{current\_\-player}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{current\_\-player}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf rts.PhysicalGameState.current\_\-player}}}
\label{classrts_1_1_physical_game_state_aba5e892341302f7278d8b6133f194c90}
\hypertarget{classrts_1_1_physical_game_state_a0571840305c2f0fe37472f4c7cad53fd}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!deaths@{deaths}}
\index{deaths@{deaths}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{deaths}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$Integer$>$ {\bf rts.PhysicalGameState.deaths}}}
\label{classrts_1_1_physical_game_state_a0571840305c2f0fe37472f4c7cad53fd}
how many deaths each player has suffered \hypertarget{classrts_1_1_physical_game_state_a65777e188928a93d3317197a70b8469e}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!fog@{fog}}
\index{fog@{fog}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{fog}]{\setlength{\rightskip}{0pt plus 5cm}boolean {\bf rts.PhysicalGameState.fog}}}
\label{classrts_1_1_physical_game_state_a65777e188928a93d3317197a70b8469e}
whether or not we're playing with fog of war \hypertarget{classrts_1_1_physical_game_state_a5703d32962637e69a729bf812e66e4bd}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!height@{height}}
\index{height@{height}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf rts.PhysicalGameState.height} = 8}}
\label{classrts_1_1_physical_game_state_a5703d32962637e69a729bf812e66e4bd}
\hypertarget{classrts_1_1_physical_game_state_afa9214b286e0460666120fa20d8d17a1}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!kills@{kills}}
\index{kills@{kills}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{kills}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$Integer$>$ {\bf rts.PhysicalGameState.kills}}}
\label{classrts_1_1_physical_game_state_afa9214b286e0460666120fa20d8d17a1}
how many kills each player has made \hypertarget{classrts_1_1_physical_game_state_aaf605aca11050ce864c61502afe8f023}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!reserved@{reserved}}
\index{reserved@{reserved}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{reserved}]{\setlength{\rightskip}{0pt plus 5cm}UnitStats {\bf rts.PhysicalGameState.reserved}}}
\label{classrts_1_1_physical_game_state_aaf605aca11050ce864c61502afe8f023}
\hypertarget{classrts_1_1_physical_game_state_a1b39784d01283e14e116acb012030036}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!resources@{resources}}
\index{resources@{resources}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{resources}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$ArrayList$<$Integer$>$ $>$ {\bf rts.PhysicalGameState.resources}}}
\label{classrts_1_1_physical_game_state_a1b39784d01283e14e116acb012030036}
the resources for each player \hypertarget{classrts_1_1_physical_game_state_a100aac0c47d8f32810edc443624ef951}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!scores@{scores}}
\index{scores@{scores}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{scores}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$Integer$>$ {\bf rts.PhysicalGameState.scores}}}
\label{classrts_1_1_physical_game_state_a100aac0c47d8f32810edc443624ef951}
how many points each player currently has \hypertarget{classrts_1_1_physical_game_state_a8857fe0f0d854ccb4c49661eca1bff20}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!teams@{teams}}
\index{teams@{teams}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{teams}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$ArrayList$<$Integer$>$ $>$ {\bf rts.PhysicalGameState.teams}}}
\label{classrts_1_1_physical_game_state_a8857fe0f0d854ccb4c49661eca1bff20}
which teams have which players \hypertarget{classrts_1_1_physical_game_state_a8e0042b4d0c50b1de4bd7bec64a4de4f}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!terrain@{terrain}}
\index{terrain@{terrain}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{terrain}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf rts.PhysicalGameState.terrain}\mbox{[}$\,$\mbox{]} = null}}
\label{classrts_1_1_physical_game_state_a8e0042b4d0c50b1de4bd7bec64a4de4f}
\hypertarget{classrts_1_1_physical_game_state_a786b873f5a5133fbccdf718e49b69b21}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!TERRAIN\_\-NONE@{TERRAIN\_\-NONE}}
\index{TERRAIN\_\-NONE@{TERRAIN\_\-NONE}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{TERRAIN\_\-NONE}]{\setlength{\rightskip}{0pt plus 5cm}final int {\bf rts.PhysicalGameState.TERRAIN\_\-NONE} = 0\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classrts_1_1_physical_game_state_a786b873f5a5133fbccdf718e49b69b21}
\hypertarget{classrts_1_1_physical_game_state_a9f7b7db835ac7abde2bd57718a9968f4}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!TERRAIN\_\-WALL@{TERRAIN\_\-WALL}}
\index{TERRAIN\_\-WALL@{TERRAIN\_\-WALL}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{TERRAIN\_\-WALL}]{\setlength{\rightskip}{0pt plus 5cm}final int {\bf rts.PhysicalGameState.TERRAIN\_\-WALL} = 1\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classrts_1_1_physical_game_state_a9f7b7db835ac7abde2bd57718a9968f4}
\hypertarget{classrts_1_1_physical_game_state_af48781269d21723d6bced166ea38fe32}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!timeLimits@{timeLimits}}
\index{timeLimits@{timeLimits}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{timeLimits}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<$Long$>$ {\bf rts.PhysicalGameState.timeLimits}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classrts_1_1_physical_game_state_af48781269d21723d6bced166ea38fe32}
\hypertarget{classrts_1_1_physical_game_state_aee1ef53ce8876e09956f363ff4a35017}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!unit\_\-map@{unit\_\-map}}
\index{unit\_\-map@{unit\_\-map}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{unit\_\-map}]{\setlength{\rightskip}{0pt plus 5cm}UnitStats {\bf rts.PhysicalGameState.unit\_\-map}\mbox{[}$\,$\mbox{]}}}
\label{classrts_1_1_physical_game_state_aee1ef53ce8876e09956f363ff4a35017}
\hypertarget{classrts_1_1_physical_game_state_a3be9fa0f8cf400886b7e817ceb6071dc}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!unitDefinitions@{unitDefinitions}}
\index{unitDefinitions@{unitDefinitions}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{unitDefinitions}]{\setlength{\rightskip}{0pt plus 5cm}{\bf UnitDefinitionManager} {\bf rts.PhysicalGameState.unitDefinitions}}}
\label{classrts_1_1_physical_game_state_a3be9fa0f8cf400886b7e817ceb6071dc}
the unit definitions manager \hypertarget{classrts_1_1_physical_game_state_a8b28b7b9a0a7bc72d9de75f85ecc6063}{
\index{rts::PhysicalGameState@{rts::PhysicalGameState}!width@{width}}
\index{width@{width}!rts::PhysicalGameState@{rts::PhysicalGameState}}
\subsubsection[{width}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf rts.PhysicalGameState.width} = 8}}
\label{classrts_1_1_physical_game_state_a8b28b7b9a0a7bc72d9de75f85ecc6063}


The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
src/rts/\hyperlink{_physical_game_state_8java}{PhysicalGameState.java}\end{DoxyCompactItemize}
